Formal construction of Instruction Set Architectures
نویسنده
چکیده
The Instruction Set Architecture (ISA) is that part of a computing machine visible for programming, including its native data types, instructions, registers, memory architecture, exception handling and external interfaces. The ISA also includes the specification of the machine’s native language: that is its instructions and their actions. This thesis proposes the use of the Event-B formal notation to construct a sequence of formal specifications applicable to a range of ISAs, by abstractly capturing their shared properties. Initial, very abstract, descriptions are refined by the incremental addition of greater detail, each increment providing a template for development of the next. The use of Event-B allows correctness, i.e. the preservation of the properties of the previous step, to be verified over successive refinements. This is achieved by the creation and proving of logical hypotheses, or proof obligations. The process enables development of ISAs with predictable behaviour when executing both correct and erroneous programs, by identification of the precise preconditions required for successful execution of instructions, their resulting actions, and all possible error conditions. Application of property proving techniques allows for the formal verification of desirable properties. A methodology is proposed for the incremental construction of the common elements of an ISA, and its features are discussed. The methodology is initially used to construct a generic description, which is then demonstrated by refinement to two representative ISAs capable of executing compiled C binary executables. The complete refinement process is demonstrated by the creation and testing of Virtual Machines automatically generated via novel translation tools. Prior art has relied on the provision of single-layered descriptions of specific ISAs to enable formal verification of implementations, placing a burden of correctness on these specifications. This work contributes by the provision of a common context for correct derivation of these previously independant descriptions. The work introduces novel levels of abstraction to allow re-use on any sequential computing machine, provides a framework for the comparison of different ISAs relative to a single datum, and enables analysis of design options during the creation and extension of ISAs. Further contributions are the construction of multiple ISAs from a single abstract description, and the introduction of automatic source-code generation techniques to the Event-B method, which include features to assist in the development and test of useable ISAs.
منابع مشابه
Historical Perspective and Further Reading
Th is section surveys the history of instruction set architectures over time, and we give a short history of programming languages and compilers. ISAs include accumulator architectures, general-purpose register architectures, stack architectures, and a brief history of ARM and the x86. We also review the controversial subjects of high-level-language computer architectures and reduced instructio...
متن کاملA Hierarchical Methodology for Verifying Microprogrammed Microprocessors
To date, several microprocessors have been verified using formal methods. The only successfulverification efforts, however, have been on relatively simple microprocessor architectures (fewer than32 words ofmicro instruction store, small instruction set, lhnitedfeaturesf orsupportingo peratings ystems,etc.). Thegoal of the research reported here is to develop methodologies for verifying much lar...
متن کاملA Dynamically Reconfigurable Device
To the present day, the performance of microprocessors has progressed dramatically. Recently, almost all computer systems use reduced instruction set computer (RISC) architectures. However, about 30 years ago, complex instruction set computer (CISC) architectures were widely used for almost all computer systems. The advantages and successes of RISC architectures are attributable to their simpli...
متن کاملHow does Explicit and Implicit Instruction of Formal Meta-discourse Markers Affect Learners’ Writing Skills?
Discourse markers improve both the quality and comprehension of a written text. This study aimed at investigating the effect of explicit and implicit instruction of formal meta-discourse markers on writ- ing skills. The quantitative data were collected from 90 upper-intermediate students at Shiraz Univer- sity Language Center. Two experimental groups went through an instruction, while the contr...
متن کاملHow Does Explicit and Implicit Instruction of Formal Meta-discourse Markers Affect Learners’ Oral Proficiency?
Meta-discourse markers are an inevitable part of oral proficiency which improve both the quality and comprehension of learners’ speech. While studies of oral meta-discourse have been conducted since the 1980s in a European or US context, they have remained relatively untouched in Iran. Therefore, this study aimed to seek the impact of both explicit and implicit teaching of formal meta-discourse...
متن کامل